Skip to content

Commit 3da5d80

Browse files
committed
include system accounts in recent revision filtering
1 parent 626a465 commit 3da5d80

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

kitsune/sumo/form_fields.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,24 @@ def to_python(self, value):
8181
return users
8282

8383

84+
class MultiUsernameFilterField(forms.Field):
85+
"""
86+
Similar to MultiUsernameField with the following differences:
87+
* Allows system accounts
88+
* Cleaned data provides User querysets rather than User instances
89+
"""
90+
91+
def to_python(self, value):
92+
if value:
93+
usernames = value.replace(",", " ").split()
94+
if usernames:
95+
return User.all_users.filter(is_active=True).filter(
96+
Q(username__in=usernames) | Q(profile__name__in=usernames)
97+
)
98+
99+
return User.objects.none()
100+
101+
84102
class MultiUsernameOrGroupnameField(forms.Field):
85103
"""Form field that takes a comma-separated list of usernames or groupnames
86104
and validates that users/groups exist for each one, and returns the list of

kitsune/wiki/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from django.utils.translation import ngettext_lazy as _nlazy
99

1010
from kitsune.products.models import Product, Topic
11-
from kitsune.sumo.form_fields import MultiUsernameField
11+
from kitsune.sumo.form_fields import MultiUsernameField, MultiUsernameFilterField
1212
from kitsune.wiki.config import CATEGORIES, SIGNIFICANCES
1313
from kitsune.wiki.models import MAX_REVISION_COMMENT_LENGTH, Document, DraftRevision, Revision
1414
from kitsune.wiki.tasks import add_short_links
@@ -425,6 +425,6 @@ class RevisionFilterForm(forms.Form):
425425
"""Form to filter a list of revisions."""
426426

427427
locale = forms.ChoiceField(label=_lazy("Locale:"), choices=languages, required=False)
428-
users = MultiUsernameField(label=_lazy("Users:"), required=False)
428+
users = MultiUsernameFilterField(label=_lazy("Users:"), required=False)
429429
start = forms.DateField(label=_lazy("Start:"), required=False)
430430
end = forms.DateField(label=_lazy("End:"), required=False)

0 commit comments

Comments
 (0)